/* Soubor je ulozen v kodovani UTF-8.
 * Kontrola kódování: Příliš žluťoučký kůň úpěl ďábelské ódy.
 */
package cz.pecinovsky.english.pojj.adv_framework.test_util.default_gui;

import cz.pecinovsky.english.pojj.adv_framework.game_gui.IGameG;

import javax.swing.Box;
import javax.swing.BoxLayout;



/*******************************************************************************
 * Instance třídy {@code PanelMístností} představují panely,
 * v nichž se v průběhu hry zobrazují předměty v aktuální místnosti
 * a sousedé této místnosti
 * <br><br>
 * Třída je upravena tak, aby pracovala s panely používajícími tlačítka.
 * K tomu bylo třeba přidat atributy pro zapamatování si příkazu k položení
 * předmětu a také GUI, jehož prostřednictvím bude příkaz hře zadán.
 *
 * @author    Rudolf PECINOVSKÝ
 * @version   0.00.000
 */
@SuppressWarnings("serial")
public class PanelMístnostíBtn extends Box
{
//== KONSTANTNÍ ATRIBUTY TŘÍDY =================================================
//== PROMĚNNÉ ATRIBUTY TŘÍDY ===================================================
//== STATICKÝ INICIALIZAČNÍ BLOK - STATICKÝ KONSTRUKTOR ========================
//== KONSTANTNÍ ATRIBUTY INSTANCÍ ==============================================

    /** Panel zobrazující předměty v aktuální místnosti. */
    private final PanelPředmětůBtn panelPředmětů;

    /** Panel zobrazující předměty v aktuální místnosti. */
    private final PanelSousedůBtn panelSousedů;



//== PROMĚNNÉ ATRIBUTY INSTANCÍ ================================================
//== PŘÍSTUPOVÉ METODY VLASTNOSTÍ TŘÍDY ========================================
//== OSTATNÍ NESOUKROMÉ METODY TŘÍDY ===========================================

//##############################################################################
//== KONSTRUKTORY A TOVÁRNÍ METODY =============================================

    /***************************************************************************
     * Vytvoří nový panel obsahující panely předmětů a sousedů
     * aktuální místnosti.
      *
     * @param gui  GUI, prostřednictvím nějž je hra ovládána
    */
    public PanelMístnostíBtn(IMojeGUI gui)
    {
        super(BoxLayout.Y_AXIS);
        panelPředmětů = new PanelPředmětůBtn(gui);
        panelSousedů  = new PanelSousedůBtn(gui);

        add(panelPředmětů);
        add(Box.createGlue());  //Odtlačí oba panely ke krajům pole
        add(panelSousedů);
    }



//== ABSTRAKTNÍ METODY =========================================================
//== PŘÍSTUPOVÉ METODY VLASTNOSTÍ INSTANCÍ =====================================
//== OSTATNÍ NESOUKROMÉ METODY INSTANCÍ ========================================

    /***************************************************************************
     * Inicializuje panel pro práci s novou hrou.
     *
     * @param hra Hra, s níž bude panel od této chvíle komunikovat
     */
    public void inicializuj(IGameG hra)
    {
        panelPředmětů.inicializuj(hra);
        panelSousedů .inicializuj(hra);
    }



//== SOUKROMÉ A POMOCNÉ METODY TŘÍDY ===========================================
//== SOUKROMÉ A POMOCNÉ METODY INSTANCÍ ========================================
//== INTERNÍ DATOVÉ TYPY =======================================================
//== TESTY A METODA MAIN =======================================================
//
//    /***************************************************************************
//     * Testovací metoda.
//     */
//    public static void test()
//    {
//        PanelMístností inst = new PanelMístností();
//    }
//    /** @param args Parametry příkazového řádku - nepoužívané. */
//    public static void main( String[] args )  {  test();  }
}
